A gray scale value correction over specific regions of dynamic range per image from image sequences called “Dynamic Gamma Correction” (DGC) is normally carried-out on video luminance signal. This is a correction performed on luminance signal in accordance with image characteristics thereof. This process generally adjusts the gamma curve of the image over specific regions, thus providing image feature details and contrast enhancement there by improving the overall image quality.
Conventional techniques use either analog or digital dynamic gamma correction (DGC) implementation techniques to perform this task on a frame-by-frame basis. The analog DGC is implemented by modifying gamma reference voltages of the liquid crystal display (LCD) panel. The gamma reference voltages are either generated by using digital-to-analog converter (DAC) devices or by using analog memory.
Typically, the digital DGC implementations are performed either by using piecewise linear (PWL) approximation or look-up table (LUT) techniques. In the PWL method, transfer characteristic curve is piecewise linear approximated. Since non-linear relationship exists between input and intensity response of the display devices, a close approximation of PWL to non-linear characteristics is required. Some of the limitations with the PWL method are that the transfer characteristic curve can have segments with varying slopes and/or sharp transitions and can suffer from visible image artifacts and the number of curve segments and bins in histogram needs to be high for close approximation, which can lead to requiring complex algorithm and more logic for implementation.
In the LUT method, pre-computed characteristics curves are generally stored in memory and depending on the input image characteristics one of the curve values in the memory is selected and used. In this method, each curve data needs to be stored separately and hence number of curves available to make the gamma correction is limited by the memory size. Further, both these techniques require switching characteristics curves on a per image basis. This can result in flicker if curve changes are not adaptable to fast or slow moving image sequences.
For example, if incoming image scene characteristics are changing slowly, at a certain point, curve switching can occur due to drastic differences in histograms. This sudden change in curve will cause flicker in slowly moving sequences. Note that though the image characteristics are changing slowly, histograms might show a huge difference. However, this flicker may not occur with fast changing scenes, as sudden curve change may not be as visible as in the slow changing scenes. Typically, a histogram temporal filtering technique has been used for curve changes to overcome the flicker problem in the fast or slow moving image sequences. One difficulty with using such histogram temporal filtering is the requirement of highly intensive computation of filter coefficients, which are dependent on unpredictable rate of scene changes in fast or slow moving image sequences.